home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / T / Think-Pascal-7.0.cpt / THINK Pascal Interfaces / EPPC.p < prev    next >
Encoding:
Text File  |  1991-04-05  |  2.8 KB  |  128 lines  |  [TEXT/PJMM]

  1. {    This file has been processed by The THINK Pascal Source Converter, v1.1.    }
  2.  
  3. {}
  4. {Created: Sunday, January 6, 1991 at 10:32 PM}
  5. {    EPPC.p}
  6. {    Pascal Interface to the Macintosh Libraries}
  7. {}
  8. {        Copyright Apple Computer, Inc.    1988-1990}
  9. {        All rights reserved}
  10. {}
  11.  
  12.  
  13. {$IFC UNDEFINED UsingIncludes}
  14. {$SETC UsingIncludes := 0}
  15. {$ENDC}
  16.  
  17.  
  18. unit EPPC;
  19. interface
  20.     uses
  21.         Types, OSUtils, Quickdraw, Events, Files, AppleTalk, Memory, PPCToolbox, Processes;
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.     const
  42.         kHighLevelEvent = 23;
  43.  
  44. { postOptions currently supported }
  45.         receiverIDMask = $0000F000;
  46.         receiverIDisPSN = $00008000;
  47.         receiverIDisSignature = $00007000;
  48.         receiverIDisSessionID = $00006000;
  49.         receiverIDisTargetID = $00005000;
  50.  
  51.         systemOptionsMask = $00000F00;
  52.         nReturnReceipt = $00000200;
  53.  
  54.         priorityMask = $000000FF;
  55.         nAttnMsg = $00000001;
  56.  
  57. { error returns from Post and Accept }
  58.  
  59.         bufferIsSmall = -607;
  60.         noOutstandingHLE = -608;
  61.         connectionInvalid = -609;
  62.         noUserInteractionAllowed = -610;        { no user interaction allowed }
  63.  
  64. { constant for return receipts }
  65.  
  66.         HighLevelEventMsgClass = 'jaym';
  67.         rtrnReceiptMsgID = 'rtrn';
  68.         msgWasPartiallyAccepted = 2;
  69.         msgWasFullyAccepted = 1;
  70.         msgWasNotAccepted = 0;
  71.  
  72.     type
  73.         TargetIDPtr = ^TargetID;
  74.         TargetIDHdl = ^TargetIDPtr;
  75.         TargetID = record
  76.                 sessionID: LONGINT;
  77.                 name: PPCPortRec;
  78.                 location: LocationNameRec;
  79.                 recvrName: PPCPortRec;
  80.             end;
  81.  
  82.  
  83.         SenderID = TargetID;
  84.         SenderIDPtr = ^SenderID;
  85.  
  86.         HighLevelEventMsgPtr = ^HighLevelEventMsg;
  87.         HighLevelEventMsgHdl = ^HighLevelEventMsgPtr;
  88.         HighLevelEventMsg = record
  89.                 HighLevelEventMsgHeaderLength: INTEGER;
  90.                 version: INTEGER;
  91.                 reserved1: LONGINT;
  92.                 theMsgEvent: EventRecord;
  93.                 userRefcon: LONGINT;
  94.                 postingOptions: LONGINT;
  95.                 msgLength: LONGINT;
  96.             end;
  97.  
  98.  
  99.     function PostHighLevelEvent (theEvent: EventRecord; receiverID: Ptr; msgRefcon: LONGINT; msgBuff: Ptr; msgLen: LONGINT; postingOptions: LONGINT): OSErr;
  100.     inline
  101.         $3F3C, $0034, $A88F;
  102.     function AcceptHighLevelEvent (var sender: TargetID; var msgRefcon: LONGINT; msgBuff: Ptr; var msgLen: LONGINT): OSErr;
  103.     inline
  104.         $3F3C, $0033, $A88F;
  105.     function GetProcessSerialNumberFromPortName (portName: PPCPortRec; var PSN: ProcessSerialNumber): OSErr;
  106.     inline
  107.         $3F3C, $0035, $A88F;
  108.     function GetPortNameFromProcessSerialNumber (var portName: PPCPortRec; PSN: ProcessSerialNumber): OSErr;
  109.     inline
  110.         $3F3C, $0046, $A88F;
  111.  
  112.     type
  113.         GetSpecificFilterProcPtr = ProcPtr;     { FUNCTION MyFilter(yourDataPtr: Ptr;                }
  114.                                         {                    msgBuff: HighLevelEventMsgPtr;    }
  115.                                         {                    sender: TargetID): Boolean;        }
  116.  
  117.     function GetSpecificHighLevelEvent (aFilter: GetSpecificFilterProcPtr; yourDataPtr: univ Ptr; var err: OSErr): BOOLEAN;
  118.     inline
  119.         $3F3C, $0045, $A88F;
  120.  
  121.  
  122.     { UsingEPPC }
  123.  
  124.  
  125. implementation
  126. end.
  127.  
  128.